Personal computer systems in general and IBM personal computers in particular have attained widespread use for providing computer power to many segments of today's modern society. Personal computer systems can usually be defined as a desk top, floor standing, or portable microcomputer that consists of a system unit having a single system processor and associated volatile and non-volatile memory, a display monitor, a keyboard, one or more diskette drives, a fixed disk storage, and an optional printer. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. These systems are designed primarily to give independent computing power to a single user and are inexpensively priced for purchase by individuals or small businesses. Examples of such personal computer systems are the personal computer systems offered by IBM and identified under brand names such as the PERSONAL COMPUTER AT, PERSONAL SYSTEM/2, PS/1, Aptiva, and the like. Persons of skill in the computer arts will be familiar with these systems.
These systems can be classified into two general families. The first family, usually referred to as Family I Models, use a bus architecture exemplified by the IBM PERSONAL COMPUTER AT and other “IBM compatible” machines. The second family, referred to as Family II Models, use IBM's MICRO CHANNEL bus architecture exemplified by IBM's PERSONAL SYSTEM/2 Models 50 through 95. The Family I models originally used the popular INTEL 8088 or 8086 microprocessor as the system processor. These processors have the ability to address one megabyte of memory. The Family II models typically used the high speed INTEL 80286, 80386, and 80486 microprocessors which can operate in a real mode to emulate the slower speed INTEL 8086 microprocessor or a protected mode which extends the addressing range from 1 megabyte to 4 Gigabytes for some models. In essence, the real mode feature of the 80286, 80386, and 80486 processors provide hardware compatibility with software written for the 8086 and 8088 microprocessors. As the state of the art has progressed, Family I systems have developed toward ever higher capability central processor units, including the Intel PENTIUM brand microprocessor and its competitors, Reduced Instruction Set Computing (RISC) microprocessors such as the IBM and Motorola Power PC processors, and higher capability bus designs such as VESA and PCI bus designs. Again, persons of skill in the computer arts will be familiar with these systems.
The impact of such development on the manner in which computing is done in business and consumer environments has been profound. Prior to the development of personal computer systems, most use of computers was for business purposes only and data processing was done in the “glass house” which housed the computer system. Inquires were channeled through information managers for handling by computer technicians. With the wide spread use of personal computer systems access to data once maintained on an enterprise wide computer system became important to managers and ultimately line employees. Networks of personal computer systems grew up, with layered access through network servers to the enterprise systems or mainframes on which enterprise data is stored.
As information work has spread to an increasing number of information workers and impacted the work of more wide spread groups of employees within an enterprise, need for mobility of such employees has arisen. Particularly in such “outside” jobs as route salesperson, transport driver, or business consultant, it has become important to have access, while remote from an enterprise site, to enterprise data normally maintained on an enterprise system and accessed through a network of computer systems. Such access has been achieved, in part, through the use of wireline connected personal computer systems such as notebook or laptop computer systems. Typically, such a system may be equipped with a modern and communications software such that, when connected to a public switched telephone network (PSTN), the system may be connected with a supporting server or mainframe and a user may gain access to desired data.
With the development of radio communications such as exemplified by the cellular telephone networks, the possibility arose of eliminating the wireline connection between a personal computer system and a supporting server. Such systems have been developed, particularly for systems used in retail and warehousing businesses, which permit a user to move freely within an area which has radio transceiver service while remaining in intermittent or continuous contact with a data channel through which data may be exchanged with a server or mainframe supporting an enterprise activity. For purposes of discussion here, such systems in the hands of user will be referred to as “mobile client systems”. A mobile client system is distinguished by the mobility of the user, who is free of the restraints against movement imposed by a wireline connection, and by the client nature of the system in that enterprise data accessed by the mobile client system is maintained on a server or mainframe computer system with which the mobile client is in communication. Such mobile client systems are also sometimes referred to as personal communications assistants or personal digital assistants. The interested reader is referred to “Wireless: The Revolution in Personal Telecommunications” by Ira Brodsky (Artech House, Boston, 1995) for additional background and information about mobile client systems.
With mobile client systems as described to this point, various difficulties are introduced by the limited display area which can be provided while achieving other design characteristics. Certain of those difficulties have to do with entry of data into fields which may require alphanumeric data, such as a street address or a customer name. Such requirements typically arise in any form filling application, such as handling of warehouse orders, business deliveries, hospital patient and treatment records, and the like. All of these environments of use are environments in which mobile client systems linked to data repository systems are in use.
Where form filling capabilities are required, a successful approach has been the development of what are here called “forms widgets”. The terminology “widget” originated in AIX programming as meaning a graphic device which can receive input from a keyboard or pointer and communicate with an application program or another widget by means of a callback. As here used (and consistent with the AIX definition), a “widget” is a small tool or component of code on a display which accomplishes a specific task. For example, a forms widget may supply a character string for a particular data or information field in a form which is in use. An example might be a forms widget to supply a two letter state identifier for a particular field in a form which requires an address. The forms widget, in this instance, would select from among the fifty combinations of two letters adopted by the United States Postal Service to identify the states of the United States. In the example given, the list from which the data is to be supplied is restrained. In other examples, such as a name field for an address form, the list may be essentially unrestrained and must be open to the possibility of additions or manual entry apart from any preselected list.